NewAnim
Anim = NewAnim(FrameSheet, [FrameRate])
 
Parameters:

    FrameSheet = The Frame Sheet you wish to delete
    [FrameRate] = optional frame rate. Defaults to 1
Returns:

    Anim = The unique index of this animation
 

     The NewAnim function creates an animation using a selected frame sheet. New animations don't copy the frames (images) from the frame sheet though, rather they just holds the current frame, frame rate, animation type and direction of this particular animation. So animations are just a collection of custom properties for a particular frame sheet. This allows us to create many different animations that all use the same parent frame sheet.

     To create an animation we first need a frame sheet. Depending upon how your animation graphics are drawn, there's a few different solutions for the loading and creating the frame sheet. Generally though we'll be using LoadFrameSheet() function. Once we've loaded or created a frame sheet, then we can then create animations that use this sheet. For each unique animation our grame/demo needs we need to create a unique animation controller to handle it, using NewAnim.

      New animations default properties


Speed = 1
GlobalAnim = Yes
CurrentFrame = 0
Direction = AnimMethod_Forward





FACTS:


      * Animations are only valid while the Frame Sheet they're associated with is valid. If the frame sheet is deleted, then the anim is no longer valid.





 
Example Source: Download This Example
; include the frame sheet animation library
  #Include "FrameSheetAnims"
  
; The file name of the example frame sheet we're going
; to load
  Filename$=ProgramDir$()+"Help/Commands/Media/Animations/explosions.png"
  
; Load the Frame sheet
  FrameSheet=LoadFrameSheet(Filename$,64,64,RGB(0,0,0))
  
  
; Let's create two Animations using our loaded frame sheet
  
; create anim#1, this anim will
  Anim1=NewAnim(FrameSheet,1)
  
; create Anim#2, this anim will use a slower frame rate
  Anim2=NewAnim(FrameSheet,5)
  
  
  
  
; Limit the programs speed to 60 fps (or there abouts)
  SetFPS 60
  
  
; Run This section of code, untila key is pressed
  Repeat
     
   ; Clear The Screen
     Cls RGB(0,0,0)
     
     
   ; Display the current frame this animation is at
     Ypos=100
     DrawAnim Anim1,400,Ypos,true
     ShowAnimInfo(Anim1,100,Ypos)
     
   ; Display the current frame this animation is at
     Ypos=400
     DrawAnim Anim2,400,Ypos,true
     ShowAnimInfo(Anim2,100,Ypos)
     
   ; show the screen to the user and wait for a key press
     Sync
     
   ; If no key is pressed, jump back to the repeat
   ; run this section of code again.
  Until ScanCode()<>0
  
  
  
; Delete the Animations
  DeleteAnim Anim1
  DeleteAnim Anim2
  
; Delete the Frame Sheet
  DeleteFrameSheet FrameSheet
  
; End This program
  End
  
  
  
  
; This Sub displays some basic info about the anim
Psub ShowAnimInfo(ThisANim,Xpos,Ypos)
  If GetAnimStatus(ThisANim)
     th=20
     Text Xpos,ypos,"     Frame:"+Str$(GetAnimPos(ThisAnim))
     Ypos+=th
     Text Xpos,ypos,"Frame Rate:"+Str$(GetAnimFrameRate(ThisAnim))
     Ypos+=th
     Text Xpos,ypos,"Anim Method:"+Str$(GetAnimMethod(ThisAnim))
     Ypos+=th
     Text Xpos,ypos," Anim Image:"+Str$(GetAnimImage(ThisAnim))
     Ypos+=th
     Text Xpos,ypos,"Frame Sheet:"+Str$(GetAnimFrameSheet(ThisAnim))
     Ypos+=th
     
  EndIf
EndPsub
  
  
  
 
Related Info: DeleteAnim | GetFrameSheetStatus | LoadFrameSheet :
 


(c) Copyright 2002 - 2024 - Kevin Picone - PlayBASIC.com